package com.jelly.io.nio;

import java.nio.ByteBuffer;
import java.nio.CharBuffer;

/**
 * 缓冲器<br>
 * 交换相邻字符位置
 * @author Jelly
 *
 */
public class UsingBuffers {
	
	private static void symetricScramble(CharBuffer buffer){
		while(buffer.hasRemaining()){
			buffer.mark();
			char c1 = buffer.get();
			char c2 = buffer.get();
			buffer.reset();
			buffer.put(c2).put(c1);
		}
	}
	public static void main(String[] args) {
		char[] data = "UsingBuffers".toCharArray();
		ByteBuffer bb = ByteBuffer.allocate(data.length*2);
		CharBuffer cb = bb.asCharBuffer();
		cb.put(data);
		System.out.println(cb.rewind());
		symetricScramble(cb);
		System.out.println(cb.rewind());
		symetricScramble(cb);
		System.out.println(cb.rewind());
	}
}
